package com.chenyue.cm.live.vo;

import lombok.Data;

/**
 * 推断流事件参数说明
 *
 * @author libingxing
 */
@Data
public class LiveCallBackVo {

    //事件类型参数
    /**
     * 事件类型参数
     * 直播推流 event_type = 1
     * 直播断流 event_type = 0
     */
    private String event_type;

    //回调公共参数
    /**
     * 回调公共参数
     * 过期时间，事件通知签名过期 UNIX 时间戳。
     */
    private Integer t;

    /**
     * 回调公共参数
     * 事件通知安全签名 sign = MD5（key + t）。
     */
    private String sign;

    //回调消息参数
    /**
     * 用户 APPID
     */
    private Integer appid;

    /**
     * 推流域名
     */
    private String app;

    /**
     * 推流路径
     */
    private String appname;

    /**
     * 直播流名称
     */
    private String stream_id;

    /**
     * 同直播流名称
     */
    private String channel_id;


    /**
     * 事件消息产生的 UNIX 时间戳
     */
    private String event_time;

    /**
     * 消息序列号，标识一次推流活动，一次推流活动会产生相同序列号的推流和断流消息
     */
    private String sequence;

    /**
     * 直播接入点的 IP
     */
    private String node;

    /**
     * 用户推流 IP
     */
    private String user_ip;

    /**
     * 用户推流 URL 所带参数
     */
    private String stream_param;

    /**
     * 断流事件通知推流时长，单位毫秒
     */
    private String push_duration;

    /**
     * 推断流错误码
     */
    private String errcode;

    /**
     * 推断流错误描述
     * 1	recv rtmp deleteStream	主播端主动断流（删除流时）
     * 2	recv rtmp closeStream	主播端主动断流（禁用流时）
     * 3	recv() return 0	主播端主动断开 TCP 连接
     * 4	recv() return error	主播端 TCP 连接异常
     * 7	rtmp message large than 1M	收到流数据异常
     * 其他	直播服务内部异常	如需处理请联系腾讯商务人员或者提交工单
     */
    private String errmsg;

    //录播信息
    /**
     * 录制文件下载 URL
     */
    private String video_url;

    /**
     * 录制文件时长
     */
    private String duration;

    /**
     * 录制文件大小，单位字节
     */
    private String file_size;

    /**
     * 录制文件结束时间戳
     */
    private String end_time;

    /**
     * 录制文件起始时间戳
     */
    private String start_time;

    /**
     * flv，hls，mp4，aac
     */
    private String file_format;

    /**
     * 点播 file ID，在 云点播平台 可以唯一定位一个点播视频文件
     */
    private String file_id;


}
